<%@ include file="/common/taglibs.jsp"%>
<!--分页查询共用的页面-->
<%@ include file="/common/common.jsp"%>
<%@ include file="/common/dateUtil.jsp"%>
<%@ page language="java" pageEncoding="UTF-8"%>

<head>
<style>

</style>


<script>

////////////////////////初始化页面
//定义数组，用于存储报警类型和报警来源
var alarmSourcesData = null;
var params = {};//定义查询条件
var readyFlg = false;//标明页面加载完成标记

//定义数据表格
$(function(){
	//数据表格
	$("#nightDriveMentData").datagrid({
		width:"100%",
		height:"100%",
		toolbar:"#nightDriveToobar",//工具条
		pagination:true,
		pageList:[15,30,50,100],
		pageSize:15,
		singleSelect:true,
		rownumbers:true,
		striped:true,
		fitColumns: true,
		// checkOnSelect: false,
		selectOnCheck: false,
		onDblClickRow:function(rowIndex,rowData){
			console.log("双击数据行："+rowIndex);
			console.log(rowData);
		}
	});
});

//表单重置方法
function formReset(){
	document.getElementById("nightDriveQueryForm").reset();
}

//查询条件中天数的校验
function validateDate() {
	try {
		var temp = $("#offLineDays").val();
	if(temp !=""){
		//不为空
		var dayTemp =parseInt(temp);
		//不是数字
		if(isNaN(dayTemp)){
			$.messager.alert('提示', '请输入正确的天数格式,例如：8');
		return false;
		}else{
			if(dayTemp <= 0){
				$.messager.alert('提示', '请输入大于0的整数天数,例如：8');
				return false;
			}
		}
	}
	} catch (error) {
		console.error("输入天数数字非法："+error);
		return false;
	}
	return true;
}

///////////////////////////////////////////////////////////////////////页面基本控件加载完成后初始化
//页面加载完成后初始化方法
$(document).ready(function(){

	//创建下拉部门树
	Utility.createDepTree("depId");

	//查询按钮事件定义
	$("#btnQuery").click(function(){
		//以下代码暂不执行
		// 获取
		getPageData();
		//重新定义页面为第一页
		params.pageNumber = 1;
		//显示第一页
		setFirstPage();
		//查询数据
		getAjaxData();
		
	});

	//分页按钮点击
	$("#nightDriveMentData").datagrid("getPager").pagination({
		onSelectPage: function (pageNumber, pageSize) {
			if (readyFlg) {
				//设置新的页面信息
				getPageParams();
				// console.log(params);
				//查询数据
				getAjaxData();
			}
		}
	});


//加载完成
	readyFlg = true;
});


//设置页面为显示第一页
function setFirstPage() {
	var opts = $("#nightDriveMentData").datagrid("options");
	var pager = $("#nightDriveMentData").datagrid("getPager");
	opts.pageNumber = 1;
	pager.pagination("refresh", {
		pageNumber: 1,
		pageSize: opts.pageSize
	});
}

/*
从服务器请求数据
1.校验查询条件是否合法
2.格式化查询条件
3.请求数据
4.如果返回数据合法，则填充数据
*/
//请求数据
function getPageData(){
	//校验数据
	if(validateDate()){
		initParams();//格式化查询条件	
	}
}


//格式化查询条件
function initParams(){
	params = {};//清空数据
	//获取分页参数
    getPageParams();
	//获取基本查询信息
	params.plateNo = $("#plateNo").val();
	
	//获取天数参数
	// params.offLineTime = getOffLineTime();
	getOffLineTime();

	//获取选择树种选中的类型
    var treeSelected = $("#depId").combotree("tree").tree("getSelected");
	
    if(treeSelected!= null){
		var depIdTemp = treeSelected.id;
		// console.log("depIdTemp="+depIdTemp);
		try {
			depIdTemp = parseInt(depIdTemp);
		} catch (error) {
			console.log("获取查询条件中转换错误"+error);
		}
		if(depIdTemp != undefined){
			params.depId=depIdTemp;//获取depId
		}else{
			params.depId=0;
		}
		
    }


	// console.log("params:");
	// console.log(params);
}

//设置天数参数
function getOffLineTime(){
	var temp = parseInt($("#offLineDays").val());
	if (!isNaN(temp)) {
		//取整
		temp = Math.ceil(temp);
		if (temp > 0) {
			var timeTemp = new Date();
			var dayTemp = timeTemp.getDate()
			// timeTemp.setHours(0,0,0,0);
			timeTemp.setDate(timeTemp.getDate() - temp);
			// var returnStr = timeTemp.getFullYear() + "-" + (timeTemp.getMonth() + 1)
			// 	+ "-" + timeTemp.getDate() + " " + timeTemp.getHours() + ":"
			// 	+ timeTemp.getMinutes() + ":" + timeTemp.getSeconds();
			// console.log(returnStr);
			//设置时间参数
			params.offLineTime = Utility.dateToString(timeTemp);
		}
		
	}
}


//获取页面信息并配置到参数对象中
function getPageParams(){
	params.pageNumber = $("#nightDriveMentData").datagrid("getPager").data("pagination").options.pageNumber;
	params.pageSize = $("#nightDriveMentData").datagrid("getPager").data("pagination").options.pageSize;
}


/*
查询数据，并根据返回情况进行数据填充
*/
function getAjaxData(){

	console.log("参数：");
	console.log(params);
	var jsonData = JSON.stringify(params);
	$("#nightDriveMentData").datagrid("getPager").pagination("loading");
	$.ajax({
		type:"post",
		url:"<%=ApplicationPath%>/displaceTime/getDisplaceTimePageData.action",//请求地址
		dataType:"json",
		data:jsonData,
		contentType:"application/json;charset=utf-8",
		success:function(data){
			console.log("接收到离线查询数据：" , data);
			try {
				if(data.rows != null){
					addData(data.rows);
				}
			} catch (error) {
				console.error("处理数据发生异常->"+error);
			}
			$("#nightDriveMentData").datagrid('loadData',data);
			
			$("#nightDriveMentData").datagrid("getPager").pagination("loaded");
			
			console.log("接收数据->");
			console.log(data);
		}
	});
	
}

//处理数据，添加离线时长
function addData(data){
	try {
		if(data!= null && data.length > 0){
			for(var i=0 ; i<data.length ; i++){				
				data[i].offLineTimes = getOffLineTimes(data[i].sendTime);
			}
		}
	} catch (error) {
		console.error("解析处理数据发生错误->"+error);
	}

}

//获取该距离现在时间的差值
function getOffLineTimes(sendTime){
	try {
		if (sendTime != "") {
			var now = new Date();
			var nowTemp = now.getTime();//该值为毫秒数
			var sendTimeTemp = Date.parse(sendTime);//该值为毫秒数
			// console.log(sendTimeTemp);
			//时间合法
			if (!isNaN(sendTimeTemp)) {
				var temp = Math.floor((nowTemp - sendTimeTemp) / (1000 * 60));
				// console.log("本次离线分钟数="+temp)
				var cout = getOffLineText(temp);
				// console.log("离线时长=" + cout);
				return cout;
			} else {
				return "未知";
			}


		} else {
			return "未知";
		}
		
		
	} catch (error) {
		console.error("离线时长计算错误->" + error);
	}
}
//根据离线时长（分钟）格式化为描述文字
function getOffLineText(minutes){
	try {
		var remainTemp = minutes;//取分钟数
		var dayTemp = Math.floor(remainTemp/((60 * 24)));//取天数
		remainTemp = remainTemp%(60*24);//取天数剩余小时数(单位分钟)

		var hourTemp = Math.floor(remainTemp/60);//取小时数
		remainTemp = remainTemp%60;//取小时剩余分钟数

		var returnStr = dayTemp+"天"+hourTemp+"小时"+remainTemp+"分钟";
		return returnStr;
	} catch (error) {
		console.error("转换时间发生错误->"+error);
	}
	return "";
}



</script>
</head>

<!----------------------显示控件----------------------------->
<body>
	<!--工具条-->
	<div id="nightDriveToobar" class="sh_css_basFontSize">
		<form id="nightDriveQueryForm" action="">
			<table width="100%" class="TableBlock">
				<tr>
					<td align="right">车牌号码&nbsp;&nbsp;:</td>
					<td>
						<input type="text" id="plateNo" name="plateNo">
					</td>
					<td align="right">车组名称&nbsp;&nbsp;:</td>
					<td>
						<select id="depId" name="depId" style="width:200px;"></select>
					</td>
					<td align="left">
						<span>离线时间大于:&nbsp;</span>
						<input type="text" name="offLineDays" id="offLineDays" />
						<span>天</span>
					</td>
					<td colspan="4" align="left">
						<!-- <a id="btnQuery" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'">查询</a> -->
						<div style="width:100%;" class="base_hori_flexStartDiv_css">
							<div id="btnQuery" class="sh_css_btn" >
								<div class="ui-icon icon-search" style="width:16px;height:16px;"></div>
								<span>查询</span>
							</div>
							&nbsp;
							<a id="btnReset" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-clear'" onclick="formReset();">重置</a>&nbsp;
							<a id="btnExport" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-excel'" onclick="Utility.excelExport('<%=ApplicationPath%>/export.action');">导出</a>
							<!--调用utility.js-->
						</div>
					</td>
				</tr>
			</table>
		</form>
	</div>
	<!--离线位移表格dagagrid-->
	<table id="nightDriveMentData">
		<thead>
			<tr>
				<th data-options="field:'plateNo'" width="150">车牌号</th>
				<th data-options="field:'name'" width="180">车组</th>
				<th data-options="field:'sendTime'" width="230">最后在线时间</th>
				<th data-options="field:'offLineTimes'" width="180">离线时长</th>
                <th data-options="field:'location'" width="430">地点</th>
			</tr>
		</thead>
	</table>
</body>